/*
 ** Licensed under the Apache License, Version 2.0 (the "License");
 ** you may not use this file except in compliance with the License.
 ** You may obtain a copy of the License at
 **
 **     http://www.apache.org/licenses/LICENSE-2.0
 **
 ** Unless required by applicable law or agreed to in writing, software
 ** distributed under the License is distributed on an "AS IS" BASIS,
 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 ** See the License for the specific language governing permissions and
 ** limitations under the License.
 */

package org.geohunter.activity.osmmap;

import org.andnav.osm.util.GeoPoint;
import org.andnav.osm.views.OpenStreetMapViewController;
import org.andnav.osm.views.overlay.OpenStreetMapViewSimpleLocationOverlay;
import org.geohunter.R;
import org.geohunter.menuactions.StaticLabelMenu;
import org.geohunter.menuactions.MenuAction;

import android.content.res.Resources;

public class MenuActionOsmCenterLocation extends StaticLabelMenu implements MenuAction {
    private final OpenStreetMapViewController mMapController;

    private final OpenStreetMapViewSimpleLocationOverlay mMyLocationOverlay;

    public MenuActionOsmCenterLocation(Resources resources, 
            OpenStreetMapViewController mapController,
            OpenStreetMapViewSimpleLocationOverlay myLocationOverlay) {
        super(resources, R.string.menu_center_location);
        mMapController = mapController;
        mMyLocationOverlay = myLocationOverlay;
    }

    @Override
    public void act() {
        GeoPoint geopoint = mMyLocationOverlay.getMyLocation();
        if (geopoint != null)
            mMapController.animateTo(geopoint);
    }

    @Override
    public boolean isEnabled() {
        return true;
    }
}
